\section{Iterazione 4}
	
	\subsection{Intro}
		
		\begin{frame}
    		\frametitle{Gestisci Forniture}
    		Caso d'uso: Gestisci Forniture.\\
    		\`E stato necessario monitorare con attenzione:
    		\begin{itemize}
    			\item Prenotazioni: i prodotti prenotati 
    			\item Prodotti: i prodotti terminati o scesi sotto la quantità di soglia 
   			\end{itemize}
  		\end{frame}
  		
  		\begin{frame}
  		\frametitle{Quantità di soglia}
  		    \begin{itemize}
  		    \item \`E riferita al singolo prodotto
  		    \item Definisce la quantità minima di prodotto che dovrebbe sempre essere presente all'interno del magazzino
  		    \item Se il numero di copie di un prodotto scende sotto la soglia, tale prodotto comparirà nell'elenco dei prodotti da ordinare
  		    \end{itemize}
  		\end{frame}
  
  		\begin{frame}
      		\frametitle{SSD}
      		\centering
      		\includegraphics[width=\textwidth]{img_andrea/analizzaForniture.jpg}
    	\end{frame}
  
  	\subsection{Manager delle forniture}
  		
  		\begin{frame}
    	\frametitle{Il problema}
    	Problema: monitoraggio dei prodotti da ordinare
    		\begin{itemize}
    		\item Prodotti terminati
    		\item Prodotti sotto la quantità di soglia
    		\item Prodotti prenotati
    		\end{itemize}
  		\end{frame}
  
  		\begin{frame}
  		\frametitle{Design: i manager delle forniture}
  		Soluzione: Manager dei prodotti, Manager delle prenotazioni, Manager delle forniture
 	 		\begin{itemize}
 	 		\item Si occupano del recupero e monitoraggio dei prodotti da ordinare
 	 		\item Definiti come Singleton
 	 		\item Vengono istanziati all'avvio dell'applicazione
 	 		\item In fase di avvio recuperano da db i prodotti da ordinare
 	 		\item Aggiornati a runtime
 	 		\end{itemize}
  		\end{frame}
  
  		\begin{frame}
  		\frametitle{Monitoraggio prodotti}
  			\begin{figure}[t]
  			\centering
  			\includegraphics[scale=0.25]{img_andrea/osservaProdotti.jpg}
  			\end{figure}
  		\end{frame}
  		
  		\begin{frame}
  		\frametitle{Monitoraggio prenotazioni}
  			\begin{figure}[t]
  			\centering
  			\includegraphics[scale=0.25]{img_andrea/osservaPrenotazioni.jpg}
  			\end{figure}
  		\end{frame}
  
	\subsection{Accessi concorrenti}
  		
  		\begin{frame}
    	\frametitle{Soluzione finale per gli accessi concorrenti}
    		\begin{itemize}
      		\item La soluzione trovata nelle iterazioni precedenti a volte tornava dare problemi di duplicazione di oggetti
      		\item \`E stato necessario uno studio ancora più approfondito di db4o
      		\item Supporto nativo da parte di db4o per gli accessi concorrenti
    		\end{itemize}
    		\begin{figure}[t]
    		\centering
        	\includegraphics[scale=0.25]{img_andrea/db4o-cs.png}
    		\end{figure}
  		\end{frame}
  
  
\section{Fase finale}
  
	\subsection{Intro}
  		\begin{frame}
  		\frametitle{Interfacce}
		La fase finale del progetto è stata dedicata allo strato di presentazione:
    		\begin{itemize}
    		\item Progettazione delle interfacce
        	\item Inserimento delle immagini dei prodotti
        	\item Layout delle interfacce
    		\end{itemize}
  		\end{frame}
    
	\subsection{Progettazione delle interfacce}
  		\begin{frame}
  		\frametitle{Progettazione delle interfacce}
       		\begin{figure}
		    \includegraphics[width=\textwidth]{loki_img/design_ui.jpg}
       		\end{figure}
     	\end{frame}
     	
     	\begin{frame}
     	\frametitle{Interfacce robuste}
     	Grazie alle modifiche apportate alle interfacce c'è stato un guadagno in manutenibilit\`a:
     		\begin{itemize}
     		\item Per cambiare la classe di un componente grafico è sufficiente modificare un metodo della Factory che crea il componente
     		\item Per modificare lo stile di un componente grafico è sufficiente modificare un attributo della classe di Style
     		\end{itemize}
	\end{frame}
  		\begin{frame}
  		\frametitle{Feedback all'utente}
    	Feedback fornito all'utente:
    		\begin{itemize}
    		\item Righe di transazione mostrate via via che i prodotti vengono inseriti
        	\item Riepilogo dei prodotti coinvolti in una transazione
    		\end{itemize}
    		\begin{figure}[t]
    		\centering
        	\includegraphics[width=\textwidth]{img_andrea/screen1.png}
    		\end{figure}
  		\end{frame}
  
	\subsection{Immagini e Proxy}
  		
  		\begin{frame}
    	\frametitle{Immagini} 
    		\begin{figure}[t]
    		\centering
        	\includegraphics[width=\textwidth]{img_andrea/screen2.png}
    		\end{figure}
  		\end{frame}
  
  		\begin{frame}
      	\frametitle{Proxy per le immagini} 
      	Le immagini sono gestite tramite Proxy:
      		\begin{itemize}
        	\item Possono così viaggiare tramite RMI
        	\item Pagamento a consumo
        	\item Il traffico viene gestito in modo opportuno
      		\end{itemize}
    	\end{frame}
  
	\subsection{Layout}
  
  		\begin{frame}
    	\frametitle{Struttura delle interfacce}
    	Interfacce più intuitive e usabili:
    		\begin{itemize}
	    	\item Coerenza tra le varie schermate
	    	\item Aumento della dimensione degli elementi mostrati
    		\end{itemize}
    		\begin{figure}
      		\centering
      		\includegraphics[width=\textwidth]{img_andrea/screen3.png}
    		\end{figure}
    	\end{frame}